$(function () {

    var emp_datagrid = $("#emp_datagrid");
    var emp_dialog = $("#emp_dialog");

    //员工列表初始化-begin
    emp_datagrid.datagrid({
        fit: true,
        url: "/employee/list",
        fitColumns: true,
        pagination: true,
        striped: true,
        toolbar: "#tb",
        columns: [[
            {field: "ck", checkbox: true},  //显示多选框样式
            {field: "id", title: "编号", hidden: true},
            {field: "username", title: "用户账号", width: 100},
            {field: "realname", title: "真实姓名", width: 100},
            {field: "tel", title: "电话", width: 100},
            {field: "email", title: "邮箱", width: 100},
            {
                field: "dept", title: "部门", width: 100, formatter: function (value) {
                return value ? value.name : "未分配部门";
            }
            },	//时间一般用户desc : 显示最新的数据
            {field: "hiredate", title: "入职时间", width: 100, sortable: true, order: 'desc'},
            {
                field: "admin", title: "是否管理员", width: 100, formatter: function (value) {
                return value ? "是" : "否";
            }
            },
            {
                field: "state", title: "状态", width: 100, formatter: function (value) {
                if (value == 1) {
                    return "<font color='green'>在职</font>"
                } else if (value == 0) {
                    return "<font color='red'>离职</font>"
                }
            }
            },
            {
                field: "roles", title: "角色", width: 100, formatter: function (value, row) {
                if (value.length != 0) {
                    for (var i = 0; i < value.length; i++) {
                        return value[i].name;
                    }
                } else {
                    return "未分配角色";
                }
            }
            }
        ]],
        //点击行时响应事件
        onClickRow: function (index, row) {

            //根据员工的状态修改离职/复职按钮的显示
            if (row.state == 1) {
                $("#change_btn").linkbutton({
                    text: "离职"
                })
            } else {
                $("#change_btn").linkbutton({
                    text: "复职"
                })
            }
        }
    })
    //员工列表初始化-end


    //初始化新增和编辑的dialog
    $("#emp_dialog").dialog({
        width: 400,
        height: 500,
        buttons: "#bb",
        draggable: true,
        resizable: true,
        closed: true
    })

    /* var cmdObj = {
     fn:function(){
     alert(1);
     },
     name:"dafei"
     }
     cmdObj.fn();
     cmdObj["fn"]();
     cmdObj["name"];*/

    //同一管理响应函数
    var cmdObj = {
        //顶部工具栏的刷新
        reload: function () {
            emp_datagrid.datagrid("load");
        },
        //工具栏的编辑
        edit: function () {
            //是否选中row
            var row = emp_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert("温馨提示", "请选择要编辑的数据");
                return;
            }
            //清空上次操作的数据
            $("#emp_form").form("clear");
            //form的同名加载原则
            if (row.dept) {
                row["dept.id"] = row.dept.id;
            }
            //回显角色

            //回显选中的行
            //设置标题
            emp_dialog.dialog("setTitle", "员工编辑");
            //打开窗口
            emp_dialog.dialog("open");
            $("#emp_form").form("load", row);
            $.get("/role/queryRoleIdsByEmpId?empId="+row.id,function(data){
                $("#emp_roles").combobox("setValues",data);
            })
        },
        //工具栏:添加
        add: function () {
            //清空上次操作的数据
            $("#emp_form").form("clear");
            //设置标题
            emp_dialog.dialog("setTitle", "员工新增");
            //打开窗口
            emp_dialog.dialog("open");
        },
        //工具栏:离职/在职 (在实际应用中,数据的价值非同小可,所以不要有删除操作)
        changeState: function () {
            //是否选中row
            var row = emp_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert("温馨提示", "请选择要操作的数据");
                return;
            }
            //重要操作:提示用户
            $.messager.confirm('确认', '您确认想要执行这个操作？', function (r) {
                if (r) {
                    //确定要进行操作
                    //修改选中行的状态(与原来相反)
                    //发请求修改原先状态值
                    $.get("/employee/changeState", {id: row.id}, function (data) {
                        if (data.success) {
                            //修改成功就刷新列表
                            emp_datagrid.datagrid("load");
                        } else {
                            $.messager.alert("温馨提示", data.errorMsg);
                        }
                    })
                }
            });
        },
        //顶部工具栏:高级查询
        query: function () {
            //获取查询参数
            var kw = $("#keyword").textbox("getValue");
            //表格加载时顺带一起传递查询参数
            emp_datagrid.datagrid("load", {
                keyword: kw
            });
        },
        //底部按钮:保存
        save: function () {
            //默认是保存请求
            var url = "employee/save";
            var empId = $("#empId").val();
            if (empId) {
                //回显的empId有值则是update
                url = "employee/update";
            }
            $('#emp_form').form('submit', {
                url: url,
                //form 无法拼接roles[xx].id所以在提交前提交
                onSubmit: function (param) {
                    var ids = $("#emp_roles").combobox("getValues");
                    if (ids) {
                        for (var i = 0; i < ids.length; i++) {
                            param["roles[" + i + "].id"] = ids[i];
                        }
                    }
                },
                //表单提交成功后
                success: function (data) {
                    var data = $.parseJSON(data);
                    if (!data.success) {
                        $.messager.alert('温馨提示', data.errorMsg);
                    } else {
                        //刷新列表
                        emp_datagrid.datagrid("load");
                        //关闭当前对话框
                        emp_dialog.dialog("close");
                    }
                }
            });

        },
        //底部按钮:取消
        cancel: function () {
            emp_dialog.dialog("close");
        }
    }; //end

    //调用cmdObj
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data('cmd');
        cmdObj[cmd]();
    })

});

$(function () {
    $("li").bind("click", function(){
        alert(3);
        var url = $(this).data("url");
        var options = [];
        options = $("#control").data("options");
        console.log(options);
        console.log(url);
    });
});